草庐IT

java - 列出未知枚举的值

全部标签

ruby-on-rails - 检查字段的值是否在 before_update 过滤器中更改

我有一个数据库字段,我想在其中存储我的密码。在我模型的before_create过滤器中,我调用了一个加密函数并将明文保存为加密文本。我现在也想使用before_update进行加密,但前提是值已更改。如何编写检查字段值是否已更改的条件? 最佳答案 如果字段名为name则object.name_changed?将返回true。 关于ruby-on-rails-检查字段的值是否在before_update过滤器中更改,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - Ruby 中的线程安全枚举器

TLDR:Ruby中是否有Enumerator类的线程安全版本?我正在尝试做的事情:我想在RubyOnRails应用程序中同时运行一个方法。该方法应该创建一个包含站点报告的zip文件,其中zip中的每个文件都是PDF。从html到PDF的转换有点慢,因此需要多线程。我希望如何做到这一点:我想使用5个线程,所以我想我应该在线程之间共享一个枚举器。每个线程都会从枚举器中弹出一个值,然后运行它。这是我认为它会起作用的方式:t=Zip::OutputStream::write_bufferdo|z|mutex=Mutex.newgen=Enumerator.new{|g|Report.all.

ruby - 如何让我的枚举器接受提要的界面?

来自docsforRubyv2.5e=[1,2,3].mappe.next#=>1e.feed"a"pe.next#=>2e.feed"b"pe.next#=>3e.feed"c"begine.nextrescueStopIterationp$!.result#=>["a","b","c"]end但是当我通过Enumerator.new创建我的枚举时呢?#anaivereworkoftheaboveenume2=Enumerator.newdo|y|[1,2,3].eachdo|x|y1e2.feed"a"pe2.next#=>2e2.feed"b"pe2.next#=>3e2.fee

ruby - 是否可以列出当前池中的所有数据库连接?

我在一个独立于Rails应用程序运行的守护进程中得到ActiveRecord::ConnectionTimeoutError。我将Passenger与Apache和MySQL一起用作数据库。Passenger的默认池大小为6(至少文档是这么告诉我的),因此它不应使用超过6个连接。我已将ActiveRecord的池大小设置为10,尽管我认为我的守护进程应该只需要一个连接。我的守护进程是一个具有多个线程的进程,它在这里和那里调用ActiveRecord以将内容保存到它与Rails应用程序共享的数据库中。我需要弄清楚的是线程是否根本无法共享一个连接,或者它们是否只是不断请求新连接而不释放它们

ruby - 如何使用枚举器

在RubyArrayClass文档中,我经常发现:Ifnoblockisgiven,anenumeratorisreturnedinstead.为什么我不将block传递给#map?我这样做有什么用:[1,2,3,4].map而不是做:[1,2,3,4].map{|e|e*10}#=>[10,20,30,40]谁能给我一个使用这个枚举器的非常实际的例子? 最佳答案 好问题。如果我们想对创建的枚举器执行多项操作怎么办?我们现在不想处理它,因为这意味着我们可能需要稍后创建另一个?my_enum=%w[nowisthetimeforall

ruby - 用 Ruby 正则表达式中的值替换所有匹配项

我在进行Ruby字符串替换时遇到了问题。我正在为我正在使用的有限语言编写一个预处理器,它本身不支持数组,所以我自己动手。我有一条线:x[0]=x[1]&x[1]=x[2]我想用重新格式化的版本替换每个实例:x__0=x__1&x__1=x__2该行可能在别处包含方括号。我有一个匹配数组用途的正则表达式:array_usage=/(\w+)\[(\d+)\]/但我想不出Ruby构造来逐个替换每个实例。我不能使用.gsub()因为它会匹配行中的每个实例,并将每个数组声明替换为第一个声明。.scan()提示说,如果您尝试在block内使用带有.sub()!的扫描,则字符串正在被修改。如有任何

Ruby:是否可以设置实例变量的值,其中实例变量通过字符串命名?

不确定这个模式叫什么,但场景是这样的:classSome#thisclasshasinstancevariablescalled@thing_1,@thing_2etc.end有没有办法设置实例变量的值,其中实例变量名是由字符串创建的?类似于:i=2some.('thing_'+i)=55#setsthevalueofsome.thing_2to55 最佳答案 在Object上搜索“instance_variable”:some.instance_variable_get(("@thing_%d"%2).to_sym)some.in

ruby-on-rails - 加载任何 yaml 文件时出现未知别名

当我尝试在我的应用程序中加载任何yaml文件时,出现此错误:Psych::BadAlias:Unknownalias:default/Users/luizkowalski/.rbenv/versions/2.2.3/lib/ruby/2.2.0/psych/visitors/to_ruby.rb:385:in`visit_Psych_Nodes_Alias'/Users/luizkowalski/.rbenv/versions/2.2.3/lib/ruby/2.2.0/psych/visitors/visitor.rb:15:in`visit'/Users/luizkowalski/.

ruby - 如何增加散列中未初始化键的值?

如果我尝试增加哈希中尚不存在的键的值,就像这样h=Hash.newh[:ferrets]+=1我收到以下错误:NoMethodError:undefinedmethod`+'fornil:NilClass这对我来说很有意义,而且我知道这一定是一个非常简单的问题,但我在SO上找不到它。如果我什至事先不知道我将拥有哪些key,我该如何添加和递增此类key? 最佳答案 可以在构造函数中设置hash的默认值h=Hash.new(0)h[:ferrets]+=1ph[:ferrets]请注意,设置默认值有一些缺陷,因此您必须谨慎使用。h=Ha

ruby-on-rails - 有没有办法在 Ruby ERB 模板中列出可用变量?

假设我有一个名为my_template.html.erb的RubyERB模板,它包含以下内容:有没有办法以编程方式列出模板中的所有可用变量?例如下面的方法:deflist_out_variablestemplate=File.open("path_to/my_template.html.erb","rb").readerb=ERB.new(template)erb.this_method_would_list_out_variablesend会返回类似的东西:['div1','div2','div3']如有任何帮助,我们将不胜感激。谢谢,迈克 最佳答案